#ifndef QMSG_H
#define QMSG_H

/* --- 消息结构
 * 用于客户端与服务器之间的通信。主要包括:
 * 属性: 消息类型，发送者ID(预留），消息内容等
 * 方法：消息的打包和解包（加载）
 */

//add by dimon, 2024-03-17 11:48


//如果要使用 信号-槽，类需要是 QObject 的派生
#include <QObject>
#include <QDataStream>

//定义类
class QMsg : public QObject
{
    //如果要使用信号-槽，类定义需要有‘Q_OBJECT'
    Q_OBJECT;

public:
    //构造函数
    explicit QMsg(QObject *parent = 0);
    ~QMsg();


    quint8 type;    //消息类型
    quint32 senderID; //发送者ID
    quint32 tarIP;  //目标IP
    quint16 tarPort;    //目标Port
    QString strInfo;   //聊天内容


    QByteArray buf; //数据缓冲区
    virtual void pack(); //打包消息数据
    virtual bool load(); //解包消息数据

signals:

public slots:


};


#endif // QMSG_H
